package com.common.www.bean.entity.project;


import org.springframework.boot.base.jpa.domain.annotations.QueryCacheable;
import org.springframework.boot.base.jpa.domain.entity.NumberIdentityEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.validator.constraints.Length;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 消防工程项目基本配置
 *
 * @param
 * @author andyliu
 * @date 5/28/2018 4:23 PM
 * @return
 */
@DynamicUpdate(true)
@DynamicInsert(true)
@Entity
@Getter
@Setter
@QueryCacheable
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Table()
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "消防工程项目基本配置返回参数")
public class XfgcBasic extends NumberIdentityEntity {

    /**
     * 参与项目
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private Project project;
    /**
     * 地下室
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private DiXiaShi diXiaShi;
    /**
     * 高层
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private GaoCeng gaoCeng;
    /**
     * 小高层
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private XiaoGaoCeng xiaoGaoCeng;
    /**
     * 洋房
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private YangFang yangFang;
    /**
     * 别墅
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private BieShu bieShu;
    /**
     * 商业
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private ShangYe shangYe;
    /**
     * 公寓
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private GongYu gongYu;
    /**
     * 幼儿园
     */
    @JsonIgnoreProperties(value = {""})
    @ManyToOne()
    private YouErYuan youErYuan;

}